Field
This disclosure is generally related to symmetric encryption schemes. More specifically, this disclosure is related to an encryption-key ratcheting mechanism that can adaptively update encryption keys.
Related Art
The prevalence of mobile computing devices (such as smartphones and tablet computers) and the ever-increasing applications (also called apps), developed for these mobile devices have enabled mobile device users to perform many more tasks, including both personal or business related, on these devices. For example, a user can access his bank account or an enterprise data server, through his smartphone. As a result, sensitive information is exchanged between the smartphone and those servers. Keeping such sensitive information secure becomes increasingly important in mobile computing.
One straightforward way of providing data security on mobile devices is to encrypt messages sent to or from the mobile devices. Among various encryption schemes, a symmetric-key algorithm that uses block ciphers, as defined by the Advanced Encryption Standard (AES), is the most popular encryption scheme used by mobile communications. Like other symmetric-key algorithms, the cryptographic key used in AES is a shared secret between the communication partners. The secrecy of the communication relies on the secrecy of the key. To prevent the key from being compromised by malicious third parties, it is desirable to have the key updated regularly. Some approaches rely on key-ratcheting mechanisms that continuously ratchet the key material forward to update the encryption keys over time. In principle, these key-ratcheting mechanisms can achieve semantic security and provide past secrecy (through key erasure) and possibly future secrecy. Note that the term “future secrecy” means that the system can “heal” itself (by introducing new ratchet keys) if an individual key is compromised. However, ratcheting keys can introduce additional communication overhead, especially if the key is updated for each message.